home *** CD-ROM | disk | FTP | other *** search
/ Hottest 6 / Hottest 6 (1996)(PDSoft)[!].iso / software / fredfish / 1059.lha / Programs / MathPlot / Docs / MathPlot_D.TXT next >
Text File  |  1994-12-15  |  34KB  |  823 lines

  1.                            MathPlot
  2.                            ========
  3.                            
  4.                   © by Rüdiger Dreier 1991/92/93/94
  5.  
  6.  
  7. Diese Anleitung soll eine Benutzung der ShareWareversion von MathPlot
  8. ermöglichen. Abschnitte, die mit "!!" in der ersten Spalte gekenn-
  9. zeichnet sind, enthalten wichtige Hinweise und sollten gelesen werden.
  10. Bei einer Registrierung erhalten Sie eine gedruckte Version der 
  11. aktuellen Anleitung.
  12.  
  13. Zur Registrierung siehe "Registrierung.txt"
  14.  
  15. Meine Adresse:
  16.  
  17.  Rüdiger Dreier
  18.  Gustav-Winkler-Str. 40
  19.  33699 Bielefeld
  20.  Deutschland
  21.  
  22. Bis auf weiteres bin ich auch per EMail erreichbar:
  23.  
  24.  ruediger.dreier@post.uni-bielefeld.de
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. Ein wichtiger Hinweis
  34. =====================
  35.  
  36. !!  Der Autor übernimmt keinerlei Haftung für Schäden, die aus der sach-
  37. !!  oder unsach-gemässen Benutzung des Programms entstehen !!
  38. !!
  39. !!  Weiterhin wird keine Haftung für die Fehlerfreiheit des Programms
  40. !!  übernommen !!
  41. !!
  42. !!  Benutzung auf eigene Gefahr !
  43. !!
  44. !!  MathPlot ist SHAREWARE. 
  45. !!  Bei regelmäßiger Benutzung ist die Share-Gebühr zu bezahlen. 
  46. !!  Näheres siehe weiter unten. Dazu bitte das Formular aus 
  47. !!  "Registrierung.txt" benutzen !
  48.   
  49.  
  50. Zu dieser Version von MathPlot
  51. ==============================
  52.  
  53. !! Diese Version des Programms ist eine Demoversion mit leichten
  54. !! Einschränkungen (Es erscheint in regelmäßigen Abständen ein 
  55. !! Nervrequester). Sie darf unter folgenden Bedingungen weiter-
  56. !! gegeben werden:
  57.  
  58.    -  Der Copyrighttext darf nicht verändert worden sein.
  59.      
  60.    -  Es darf mit dem Vertrieb des Programms KEIN Geld verdient werden (also 
  61.       nur Kosten für Porto, Material und eine KLEINE Gebühr für die Ab-
  62.       nutzung der Kopieranlage, Strom etc.)
  63.  
  64.    -  Das Programmpaket darf nicht verändert worden sein.
  65.  
  66.    -  Das Programmpaket muß vollständig sein, also sämtliche Teile der
  67.       Anleitung (in mindestens einer Sprache) und eine lauffähige Version 
  68.       von MathPlot sowie eine Version der mtool.library müssen zusammen 
  69.       weitergegeben werden.
  70.       
  71.    -  Will jemand MathPlot (oder einen Teil davon) oder die mtool.library
  72.       (oder einen Teil davon) kommerziell nutzen (z.B. in eine sogenannte
  73.       "PD-Disk-Serie" mit einem Verkaufspreis von über DM 5,-- je Diskette
  74.       oder eine CD mit PD-Soft für über DM 60,- aufnehmen), so ist dafür 
  75.       die schriftliche Genehmigung des Autors nötig.
  76.       
  77.    -  Es IST erlaubt, die Textdateien in andere Sprachen zu übersetzen
  78.       und zusammen mit diesem Programm weiterzugeben. Wer sich diese
  79.       Mühe gemacht hat, sende mir bitte die entsprechende Datei zu. Dann
  80.       bitte auch mitteilen, ob ich diese Datei bei den Demo-Version und
  81.       den registrierten Versionen von MathPlot beilegen darf !
  82.       
  83.    -  Es IST erlaubt und erwünscht, daß diese Demoversion in 
  84.       elektronischen Netzwerken verbreitet wird.
  85.       
  86.       
  87.  
  88. Sharegebühr
  89. ===========
  90.  
  91. Wird dieses Programm regelmäßig benutzt, so ist die Sharegebühr zu bezahlen.
  92. Sie beträgt DM 30,-- oder (US)$ 20,-- und ist unter Angabe des Programmnamens
  93. und der Programmversion (möglichst auch wo man sie gefunden hat) an die
  94. oben stehende Adresse zu senden (bitte das Formular aus "Registrierung.txt"
  95. benutzen). Dafür erhält man
  96.  
  97.    -  Die neuste Version von Math-Plot (Vollversion). Diese Version darf
  98.       NICHT weitergegeben werden.
  99.       
  100.    -  Eine gedruckte Anleitung (die Vollversion von dieser, bitte angeben, 
  101.       ob Deutsch oder Englisch, andere Sprachen stehen NICHT zur Ver-
  102.       fügung).
  103.       
  104.    -  Updateservice. Neuere Versionen können (falls vorhanden) gegen
  105.       Einsendung einer Leerdiskette, Rückporto und Umschlag
  106.       unter Angabe der Registriernummer angefordert werden. Bitte die
  107.       vorhandene Version angeben. Sollte keine neuere Version vorliegen, oder
  108.       die Veränderungen zu minimal sein, werde ich mit der Antwort warten,
  109.       bis entsprechende Veränderungen vorhanden sind.
  110.       Falls Sie per EMail erreichbar sind, kann ich auch in gewissen
  111.       Abständen die neueste Version als "UUENCODE'd" Version zuschicken.
  112.       Der einfachste Weg ist aber, sich eine neue Demoversion von MathPlot
  113.       aus einer Mailbox o.ä. zu besorgen. Zusammen mit dem Keyfile, daß
  114.       Sie bei der Registrierung erhalten, wird aus dieser Demoversion
  115.       eine vollständige Version des Programms.
  116.       
  117. Ich akzeptiere auch gültige, (bundes)deutsche Briefmarken. Der Einzelwert
  118. einer Marke sollte nicht über DM 1,-- liegen. Euroschecks oder bar
  119. ist mir aber lieber.
  120.  
  121.  
  122.  
  123. Der Quelltext von MathPlot
  124. ==========================
  125.  
  126. Der Quelltext ist NICHT frei kopierbar und ist nur gegen Bezahlung
  127. erhältlich. Die Gebühr hierfür beträgt DM 30,-- oder (US)$ 20,--.
  128.  
  129. !! Der Quelltext darf nicht weitergegeben oder (ohne schriftliche
  130. !! Genehmigung) kommerziell genutzt werden. Der Quelltext ist NUR für
  131. !! registrierte Benutzer erhältlich.
  132.  
  133.  
  134.  
  135. Anwendungsgebiet
  136. ================
  137.  
  138. MathPlot ist ein Programm zum Zeichnen zweidimensionaler mathematischer
  139. Funktionen. Es können bis zu 10 Funktionen eingegeben und gezeichnet
  140. werden. Zusätzlich kann man sich von jeder Funktion die erste und
  141. zweite Ableitung zeichnen lassen (jeweils numerisch oder symbolisch
  142. bestimmt). Weiterhin sucht das Programm Nullstellen, Extrema und
  143. Wendestelle. Numerische Integration ist möglich. Ein ARexx-Port
  144. zur einfachen Erweiterung des Programms steht zur Verfügung.
  145. MathPlot eignet sich zur Unterstützung bei Kurvendiskussionen, 
  146. um die selbst errechneten Ergebnisse zu kontrollieren.
  147.  
  148.  
  149.  
  150. Anforderungen an den Rechner
  151. ============================
  152.  
  153. !! Das  Programm läuft nur unter  Kickstart 2.04 und höher ! 1MB
  154. !! Speicher sollten eigentlich ausreichen, für große Screens ist 1MB
  155. !! Chip-RAM nicht schlecht. Der Stack sollte mindestens 20000 Bytes
  156. !! betragen, sonst kommt es zu leicht zu Abstürzen. Im logischen Verzeichnis
  157. !! LIBS: müssen sich mehrere Libraries befinden:
  158.  
  159. !! -  mathieeedoubbas.library
  160. !! -  mathieeedoubtrans.library
  161. !! -  asl.library
  162. !! -  mtool.library (in diesem Ordner enthalten)
  163. !! -  diskfont.library (V36 oder höher)
  164. !! -  iffparse.library (wird nur zum Abspeichern als IFF-Bild benötigt)
  165.  
  166. Und in S: sollten sich befinden (Nicht unbedingt nötig):
  167.  
  168.    -  mplot.prefs, diese Datei enthält alle Voreinstellungen
  169.    -  Funktionen.fkt, einige vordefinierte Funktionen.
  170.    -  Konstanten.con, einige vordefinierte Konstanten
  171.    -  Macros.mcr    , einige vordefinierte Makros.
  172.  
  173. Falls der ARexx-Port benutzt werden soll, sollte der Inhalt des
  174. Ordner "Macros" nach REXX: kopiert werden (bei ARexx scheint ein
  175. "assign ..... add" nicht zu funktionieren).
  176.  
  177.  
  178.  
  179. Die Menupunkte
  180. ==============
  181.  
  182. Es folgt eine kurze Beschreibung der verschiedenen Menupunkte. Die
  183. Bedeutung der meisten Menupunkte sollte alleine schon aus dem Namen
  184. hervorgehen.
  185.  
  186.  Projekt
  187.  -------
  188.   
  189.   Neu
  190.   ---
  191.     Nach einer Sicherheitsabfrage wird der Bildschirm gelöscht. Geschieht
  192.     automatisch beim Verändern der Intervallgrenzen. Eine evt. vorhandene
  193.     HP-Plotausgabe wird abgeschlossen. 
  194.     
  195.   IFF Save As
  196.   -----------
  197.     Dieser Menupunkt benötigt die iffparse.library. Ist sie nicht vorhanden,
  198.     so erscheint ein Requester. Wenn sie vorhanden ist wird nach dem
  199.     Namen gefragt, unter dem das Bild abgespeichert werden soll.
  200.     Falls das Programm von Workbench gestartet wurde, so wird das Icon als
  201.     Icon für diese Datei benutzt.
  202.     
  203.   Funktionen laden/speichern
  204.   --------------------------
  205.     Nach Eingabe eines Namens wird die entsprechende Datei bearbeitet. Die 
  206.     in der Datei enthaltenen Zeilen werden als Funktionen interpretiert, 
  207.     bzw. die aktuellen Funktionen werden gespeichert. Das Demo-File zeigt,
  208.     wie die Funktionen anzuordnen sind.
  209.     
  210.   Macros/Konstanten laden/speichern
  211.   ---------------------------------
  212.     Siehe bei Funktionen laden/speichern.
  213.     
  214.   Drucken
  215.   -------
  216.     Der Screen wird auf einem Preferences-Drucker ausgegeben. Während des
  217.     Druckvorgangs ändert sich die Farbe des Screens. Eine HP-Ausgabe wird
  218.     abgeschlossen.
  219.     
  220.   Iconify
  221.   -------
  222.     Der Screen wird geschlossen und auf der Workbench erscheint ein Icon
  223.     für das Programm. Ein Doppelklick auf das Icon startet das Programm
  224.     wieder. Die alten Funktionen etc. sind noch erhalten. Sollte nicht
  225.     genügend Speicher vorhanden sein, um einen Screen zu öffnen, so wird
  226.     das Programm beendet. Als Icon wird das Icon des Programms benutzt,
  227.     falls es von der Workbench gestartet wurde. Bei Start von CLI 
  228.     funktioniert Iconify nicht.
  229.     
  230.   About
  231.   -----
  232.     Es werden Informationen über das Programm (Versionsnummer) und den Autor
  233.     angezeigt. Ebenso wird der Name des PublicScreens und des ARexx-Ports
  234.     angezeigt. In neueren Versionen werden vielleicht noch mehr Daten
  235.     angezeigt.
  236.     
  237.   Ende
  238.   ----
  239.     Nach einer Sicherheitsabfrage wird das Programm beendet (natürlich nur,
  240.     falls die Sicherheitsabfrage entsprechend beantwortet wurde). 
  241. !!  Da der Screen von MathPlot ein "Public-Screen" ist, kann es passieren,
  242. !!  daß zu diesem Zeitpunkt noch ein FREMDES Fenster auf dem Screen
  243. !!  ist. In diesem Fall wird das Programm NICHT beendet und es erscheint
  244. !!  eine Mitteilung.
  245.  
  246.  Zeichnen
  247.  --------
  248.    
  249.   Funkionen ändern
  250.   ---------------- 
  251.     Nach Anwahl dieses Menupunktes erscheint ein Untermenu mit den bisher
  252.     eingegebenen Funktionen (es werden die ersten 14 Zeichen jeder Funktion
  253.     angezeigt). Wird eine dieser Funktionen angewählt, so erscheint sie in
  254.     einem Fenster, so daß sie verändert werden kann. Die Funktion muß
  255.     mathematisch korrekt eingegeben werden.
  256.     Wenn unpaarige Klammern vorhanden sind, erscheint das Fenster gleich
  257.     wieder, damit man die Funktion korrigieren kann. Die veränderte Funktion
  258.     wird mit RETURN oder durch Anwahl von "Fertig" übernommen; wird
  259.     "Cancel" angewählt, so wird die ursprüngliche Funktion weiter verwendet. 
  260.  
  261.   Funkion #? Ableitung 
  262.   --------------------
  263.     Bei jedem dieser 5 Menupunkte erscheint wieder das oben beschriebene
  264.     Untermenu. Durch Anwahl eines Untermenupunktes kann man dann bestimmen,
  265.     welche Funktion man gezeichnet haben will. Numerische Ableitungen werden
  266.     nach dem Sekantenverfahren bestimmt, dabei können schon in der ersten
  267.     Ableitung Ungenauigkeiten auftreten, die in der zweiten Ableitung dann
  268.     schon recht deutlich werden. Beim symbolischen Ableiten wird erst die
  269.     Ableitung als Term bestimmt und dann normal gezeichnet. Dabei kommt es
  270.     dann nach Anwahl der Funktion zu einer kurzen Verzögerung, in der die
  271.     Ableitung bestimmt wird. Diese Methode ist genauer, hat aber auch ihre
  272.     Nachteile:
  273.  
  274.   - Das Bilden der Ableitung ist ein rekursiver Vorgang. Der Stack sollte 
  275.     daher ausreichend (mind. 20000 Bytes) sein. Kommt es zu unerklärlichen 
  276.     Abstürzen, sollte man ihn noch weiter erhöhen.
  277.     
  278.   - Einige der verwendbaren Funktionen sind nicht ohne weiteres abzuleiten.  
  279.     Die Ableitung von sgn ist z.B. fast überall Null, nur um Null herum ist 
  280.     sie nicht definiert. Das Programm setzt dafür aber einfach Null ein.
  281.     
  282.   - Außerdem wird z.B. die Ableitung von ln zu 1/x bestimmt und auch so 
  283.     gezeichnet, d.h. auch im negativen Bereich gezeichnet, obwohl ln dort 
  284.     überhaupt nicht definiert ist.
  285.     
  286.     
  287.   Diskussion
  288.   ----------
  289.     Unter diesem Menupunkt kann man sich eine grobe Kurvendiskussion
  290.     erstellen lassen (Nullpunkte, Wendepunkte und Extrempunkte). Diese
  291.     Punkte werden nur für das eingegebene Intervall bestimmt. Außerdem
  292.     wird die Funktion sowie die erste und zweite Ableitung angezeigt (wenn
  293.     dies gewünscht ist). Bei Extremstellen wird angegeben, ob es ein 
  294.     Minimum oder Maximum ist, bei Wendestellen, ob es eine rechts/links 
  295.     "Kurve" oder umgekehrt ist.
  296.     Mit dem Menupunkt Diskussion des Bearbeiten-Menus kann bestimmt
  297.     werden, ob bei diesem Menupunkt
  298.      - kleine Zahlen auf Null gerundet werden sollen
  299.      - die Ausgabe auf dem Bildschirm erscheinen soll
  300.      - die Ausgabe in eine Datei geschrieben werden soll
  301.      - nach jedem Diskussionsabschnitt gewartet werden soll
  302.      - die Funktionsterm und Ableitungen angezeigt werden sollen.
  303.  
  304.  
  305.   WICHTIG  !!!
  306.   ============
  307. !!  Ich übernehme keinerlei Verantwortung für die Richtigkeit der
  308. !!  Ableitungen oder anderer Ergebnisse dieses Programms ! Nie blind auf die
  309. !!  Ergebnisse vertrauen, lieber nochmal von Hand nachrechnen !!!!
  310.  
  311.   Num. Integration
  312.   ----------------
  313.     Hier können Sie eine Funktion numerisch Integrieren lassen. In dem
  314.     erscheinenden Fenster wird die angewählte Funktion angezeigt (sie kann
  315.     hier auch noch verändert werden !), außerdem werden Start und Ende des
  316.     Integrationsbereiches abgefragt. Schließlich muß man noch angeben, in
  317.     wievielen Schritten gearbeitet werden soll. Meist gilt: je mehr
  318.     Schritte, desto besser. Die Integration startet man mit "Fertig", das 
  319.     Ergebnis wird in dem einem Textgadget angezeigt, Fehler im anderen Text-
  320.     gadget.
  321.  
  322.     Das Fenster schließt man durch Anwahl von "Quit".
  323.  
  324.  
  325. Die von diesem Programm benutzten Ableitungen
  326. =============================================
  327.  
  328.  -   +-*/                 Das bliche 
  329.  -   x^a                  a*x^{(a-1)}
  330.  -   a^x                  a^x*ln{a}
  331.  -   f(x)^{g(x)}          (g(x)*ln(f(x)))'*f(x)^{g(x)}
  332.  -   trig. Fkt.           Das bliche 
  333.  -   abs(x)               sgn(x) (Für x=0 nicht richtig)
  334.  -   int(x)               0 (Läßt sich drüber diskutieren) 
  335.  -   sgn(x)               0 (Laßt sich drüber diskutieren) 
  336.  
  337.  
  338.  
  339. Die Fehlercodes des Programms
  340. =============================
  341.  
  342. DIVBYZERO   &   1  &  Es wurde durch 0 geteilt 
  343. LOGNEG      &   2  &  log(<=0) 
  344. SQRTNEG     &   4  &  sqrt(<0) 
  345. ATRIG       &   8  &  asin/acos(x), x<-1 oder x > 1 
  346. UNPAKLAM    &   16 &  Unpaarige Klammern 
  347. TEST        &   32 &  Wird nicht benutzt 
  348. NOFUNC      &   64 &  Keine Funktion eingegeben
  349. NO_KONST    &  128 &  Keine solche Konstante  
  350. NO_MEM      &  256 &  Nicht genug Speicher     
  351. POWERROR    &  512 &  < 0 hoch Bruch wurde versucht   
  352. NO_FUNC     & 1024 &  Keine Funktion gefunden 
  353. ER_AHYP     & 2048 &  Fehler bei acosh(),atanh() 
  354.  
  355.  
  356.  Bearbeiten
  357.  ----------
  358.   Achsen/autom.
  359.   ------------
  360.     Es wird ein Koordinatenkreuz mit einigen Unterteilungen gezeichnet. 
  361.  
  362.   Achsen/manuell
  363.   --------------
  364.     Ein Fenster zur Abfrage der Anzahl Unterteilungen in x- und y-Richtung
  365.     und der Textstellen (in der Form: Texte jede x-te Unterteilung)
  366.     erscheint. Die Einstellungen geschehen über Schieberegler. Die beiden
  367.     Regler für eine Achse sind miteinander gekoppelt, so daß bei 
  368.     "Text jede ..." kein höherer Wert eingegeben kann, als es überhaupt
  369.     Unterteilungen gibt.
  370.  
  371.     Um das ideale Koordinatensystem zu erhalten, ist es ratsam, vor dem
  372.     Zeichnen der Funktion die Einstellungen so lange zu variieren, bis die
  373.     Darstellung gefällt. Ist erst einmal eine Funktion gezeichnet, so kann
  374.     nur einmal ein Koordinatensystem gezeichnet werden, danach ist der 
  375.     entsprechende Menupunkt nicht mehr anwählbar. 
  376.     Bevor die Achsen gezeichnet werden, erscheint das Fenster 
  377.     wie unter "Text eingeben" beschrieben, um nach der Farbe für die Achsen zu 
  378.     fragen.
  379.  
  380.  
  381.   Zoom
  382.   ----
  383.     Dieser Menupunkt stellt eine Art Lupenfunktion zur Verfügung. Das
  384.     Intervall, das als nächstes gezeichnet werden soll, kann mit der Maus
  385.     ausgewählt werden. Die obere/linke Ecke wird mit der Maus angefahren,
  386.     die linke Maustaste gedrückt  und gehalten und  dann die rechte/untere
  387.     Ecke ausgewählt und  die Maustaste losgelassen. Danach wird der 
  388.     Bildschirm gelöscht. Während die Maustaste gedrückt wird, wird um den
  389.     momentan ausgewählten Bereich ein Kasten gezeichnet. Eine evt.
  390.     vorhandene HP-Plotausgabe wird abgeschlossen.
  391.  
  392.  
  393.   Text einfügen
  394.   -------------
  395.     Es erscheint ein Fenster mit einem Stringgadget, in dem man einen Text
  396.     eingeben kann. Nach RETURN wird dieser Text immer an der aktuellen
  397.     Mausposition angezeigt und kann so positioniert werden. 
  398.     Nach Druck auf die linke Maustaste wird der Text an der aktuellen
  399.     Position in dem frei gewählten Zeichensatz und der gewünschten
  400.     Farbe gezeichnet. Diese Angaben werden bei "Font wählen" gemacht.
  401.     
  402.   
  403.   Genauigkeit
  404.   -----------
  405.     Es  erscheinen 4 SubMenuPunkte, mit denen die Genauigkeit auf "klein",
  406.     "mittel", "groß" oder "Sehr groß" gesetzt werden kann. Je genauer 
  407.     gezeichnet wird, desto mehr Zeit wird benötigt.
  408.     
  409.     
  410.   Intervall
  411.   ---------
  412.     Nach Anwahl dieses Menupunktes erscheint ein Fenster mit 4 String-
  413.     gadgets, in denen die alten Intervallgrenzen (der Bereich, für den
  414.     die Funktion gezeichnet werden soll) anzeigt werden. Diese Werte kann
  415.     man wie gewohnt verändern. Der eingegebene Term muß nur den An-
  416.     forderungen entsprechen, die auch für die Funktionen gelten. 
  417.     Außerdem darf die linke/untere Grenze nicht größer/gleich sein als die 
  418.     rechte/obere. In solchen Fällen erscheint das Fenster nach Anwahl des 
  419.     "Fertig"-Gadget wieder. Weiterhin sind zwei Cycle-Gadgets vorhanden 
  420.     (für jede Achse eins). Hier wird eingegeben, wie die für diese Achse 
  421.     eingegebenen Werte zu interpretieren sind. Zur Verfügung stehen 
  422.     *1, *e, *pi, 10^, e^.
  423.  
  424.  
  425.   Konstanten
  426.   ----------
  427.     Es erscheint ein Fenster mit einem Cycle- und einem Stringgadget. Mit
  428.     dem Cycle-Gadget wird der Name der Konstanten (a-z) eingegeben. 
  429.     Wird der gewünschte Name angezeigt, RETURN drücken. Der Wert für e und x 
  430.     wird später nirgendswo verwendet, sollte also nicht benutzt werden. Das
  431.     Stringgadget ist zunächst deaktiviert. Wurde ein Name ausgewählt, so
  432.     wird es aktiviert und eine evt. vorhandene Definition der Konstanten
  433.     wird angezeigt. Diese kann verändert bzw. neu eingegeben werden. Durch
  434.     Anwahl des "Fertig"-Gadgets wird die Definition übernommen. Bei Anwahl 
  435.     von "Cancel" vergißt das Programm die Veränderungen, die alte Definition 
  436.     der Konstanten wird weiter verwendet.
  437.  
  438.  
  439.   Macros
  440.   ------
  441.     Siehe auch bei Konstanten.
  442.  
  443.     In den Funktionen wird ein Macro als_Macroname oder _Macroname(Parameter) 
  444.     angesprochen (z.B. _a bzw. _a(2*x)). Wird ein Parameter angegeben, so 
  445.     wird in dem Macro der Buchstabe x durch den Parameter ersetzt. Ein 
  446.     Macro kann selbst wieder aus anderen Macros bestehen. Rekursionen 
  447.     werden NICHT automatisch erkannt.
  448.  
  449.  
  450.   HP-Ausgabe
  451.   ----------
  452.     Bei "An" wird der Name eines Files abgefragt, in das die Daten für
  453.     einen HP-Plotter geschrieben werden sollen. Alle Zeichenvorgänge incl.
  454.     Text einfügen werden in diese Datei geschrieben. Solange dieser Modus
  455.     aktiv ist, bleibt die Farbe des Screens verändert. Ausgeschaltet wird
  456.     dieser Modus mit "Aus" oder durch Ändern des Intervall oder durch
  457.     normalen Ausdruck (Drucken).
  458.     
  459.     
  460.   Farbe wählen oder ändern
  461.   ------------------------
  462.     Mit Hilfe der drei Menuunterpunkte können die drei Farbpaletten, die
  463.     das Programm verwaltet, geändert werden. Diese Paletten sind für den
  464.     normalen Zeichenbetrieb, für die Druckausgabe oder wenn eine 
  465.     HP-Ausgabe aktiv ist.
  466.     Außerdem wird hier die aktuelle Zeichenfarbe bestimmt. Die zuletzt
  467.     im Palettenrequester aktive Farbe ist gleichzeitig die neue Zeichen-
  468.     farbe.
  469.     
  470.     
  471.   Font wählen
  472.   -----------
  473.     Mit den beiden Subitems "Font für Text" und "Font für Label" kann der 
  474.     Zeichensatz, die Größe, der Style sowie die Vorder- und Hinter-
  475.     grundfarbe bestimmt werden, der zum Beschriften der Achsen bzw. bei 
  476.     Text einfügen benutzt wird.
  477.     Zur Auswahl erscheint der Standart-Font-Requester des Systems.
  478.     Mit dem dritten Subitem "Bildschirmfont" wird ein neuer Zeichensatz
  479.     für den Bildschirm bestimmt. Die Farb- und Zeichenmodusangaben haben
  480.     keine Wirkung. Wenn OK angewählt wurde wird ein neuer Bildschirm
  481.     mit dem gewünschten Zeichensatz geöffnet.
  482.     
  483.   Auflösung ändern
  484.   ----------------
  485.     In einer Liste werden alle verfügbaren (sinnvollen) Darstellungsmodi
  486.     aufgelistet. Außerdem kann hier die tatsächliche neue Auflösung 
  487.     und die Anzahl Farben (bzw. die Anzahl Bitplanes) eingegeben werden.
  488.     Sollte beim Öffnen des Bildschirm etwas nicht ganz klappen, so wird
  489.     versucht, einen Bildschirm mit den Default-Werten (die auf jedem
  490.     Amiga laufen sollten), zu öffnen. Klappt dies auch nicht, sollte das
  491.     Programm sich selbst beenden.
  492.  
  493.   Linienmuster ändern
  494.   -------------------
  495.     Mit diesem Menupunkt können die drei Linienmuster (Funktion, 1/2.
  496.     Ableitung) verändert werden.
  497.     
  498.   Diskussion
  499.   ----------
  500.     Hier können einige Einstellungen für den Diskussionsvorgang vor-
  501.     genommen werden.
  502.     
  503.  
  504.  Zeichenfarbe
  505.  ------------
  506.     Unter diesem Menupunkt verbirgt sich eine Reihe von farbigen Kästchen,
  507.     mit denen einfach die nächste Zeichenfarbe gewählt werden kann. Dieses
  508.     Menu ergänzt die Auswahl, die auch über Bearbeiten/Farbe wählen/Norml
  509.     möglich ist. 
  510.  AREXX
  511.  -----
  512.  
  513.   ARexx-Macro starten
  514.   -------------------
  515.     In dem erscheinenden Requester kann ein Rexx-File ausgewählt werden,
  516.     das dann ausgeführt wird. Es werden alle Dateien in rexx: mit der
  517.     Endung ".mapl" angezeigt (im Gegensatz zur Endung ".mpl", die
  518.     einen zusätzlichen Befehl kennzeichnet und besser nicht von Hand
  519.     gestartet werden sollten).
  520.   ARexx-Macro zuweisen
  521.   --------------------
  522.     In dem AREXX-Menu sind 10 Einträge zum direkten Starten von AREXX-Makros
  523.     vorgesehen. Mit diesem Menupunkt werden diese Makros bestimmt.
  524.   Makroaufnahme
  525.   -------------
  526.     Das Programm ist in der Lage, einfache ARexx-Skripts automatisch zu
  527.     erstellen. Gespeichert werden: Funktion zeichnen/verändern, Konstanten
  528.     und Macros verändern, Achsen zeichnen, Farben wählen und 
  529.     Intervalleingabe. Ein Dateiname für die zum Abspeichern zu benutzende 
  530.     Datei wird abgefragt.
  531.     
  532.  
  533.  Voreinstellungen
  534.  ----------------
  535.   Im Menu "Voreinstellungen" finden sich viele Menupunkte nocheinmal, die
  536.   auch im Menu "Bearbeiten" vorkommen. Für das Programm gibt es aktuelle
  537.   Einstellungen (die z.B. beim nächsten Zeichenvorgang benutzt werden),
  538.   diese werden mit dem "Bearbeiten"-Menu eingestellt und Voreinstellungen,
  539.   die nach dem Programmstart aktiv sind. In diesem Menu werden die
  540.   letztgenannten Einstellungen definiert. Diese sind dann nicht sofort
  541.   wirksam, sondern erst, wenn das Programm neu gestartet wurde (und die
  542.   gewünschten Einstellungen in der Datei abgespeichert wurden, die beim
  543.   Start geladen wird) oder nachdem "Benutzen" gewählt wurde (nach "Benutzen"
  544.   sind NICHT alle geänderten Voreinstellungen aktiv, die Textdatei z.B., die
  545.   alle Texte des Programms enthält, wird nur einmal beim Programmstart
  546.   geladen).
  547.   Im Folgenden werden nur die Menupunkte beschrieben, für die es in den
  548.   anderen Menus kein Äquivalent gibt:
  549.   
  550.   Auflösung
  551.   ---------
  552.    Beim allerersten Start ohne ein .prefs-File MUSS ein Modus und eine
  553.    Farbtiefe explizit angewählt werden, sonst kommt es zu Fehldarstellungen.
  554.    
  555.   Pfade zuweisen
  556.   --------------
  557.    Beim Programmstart (und nur dort, nicht nach "Benutzen") werden einige
  558.    Dateien geladen: 
  559.     - eine Textdatei, die alle Texte des Programms enthält
  560.     - je eine Datei mit Vorschlägen für die Funktionen, Konstanten und
  561.       Makros.
  562.    Diese 4 Dateien werden hier abgefragt.
  563.    Weiterhin fragt dieser Menupunkt nach dem gewünschten Namensvorschlag
  564.    beim Abspeichern als IFF-File und beim Starten von ARexx-Makros sowie
  565.    einen Vorschlag für alle sonstigen Filerequester.
  566.    
  567.   Shortcuts
  568.   ---------
  569.    Da die Texte des Programms in verschiedene Sprachen übersetzt werden
  570.    können muß eine Möglichkeit vorhanden sein die Tastaturabkürzungen
  571.    für die Gadgets selbst einzustellen. Dazu dient diese Menu.
  572.    Es erscheint ein Stringgadget mit einigen Buchstaben. Die Anzahl
  573.    der Buchstaben sollte NICHT verändert werden.
  574.     - der erste Buchstabe ist der Großbuchstabe, der äquivalent zur
  575.       Anwahl von OK sein soll.
  576.     - der zweite Buchstabe ist der Großbuchstabe, der äquivalent zur
  577.       Anwahl von Cancel sein soll.
  578.     - Die nächsten 4 Buchstaben sind für die Aktivierung der Stringgadet
  579.       in einem Fenster: der erste Buchstabe für das oberste usw.
  580.     - Die nächsten 4 Buchstaben sind für die beiden Cycle-Gadget im
  581.       Intervall-Requester
  582.     - Die nächsten 6 Buchstaben sind für die 3 Schieberegler im Paletten-
  583.       requester.
  584.    Danach erscheint für (fast) jedes Menuitem der entsprechende Requester
  585.    nochmals und fragt nach einer Tastaturabkürzung für dieses Menu. Mit
  586.    Cancel kann dieser Vorgang abgebrochen werden.
  587.  
  588.  
  589.  
  590. Optionen und Eingabeformate
  591. ===========================
  592.  
  593.  Funktionsterme
  594.  ==============
  595.  
  596.   Jeder Funktionsterm darf aus den Rechenarten +,-,*,/,^
  597.   und den Funktionen sin, cos, tan, log, int, sgn, abs, sqr, asin, acos,
  598.   atan, sinh, cosh, tanh, asinh, acosh, atanh, ln und den Konstanten 
  599.   a - z und pi ohne x sowie der Variablen x bestehen. e und pi sind mit den
  600.   erwarteten Werten vordefiniert. 
  601.   
  602.   Zahlen dürfen normal (1; 1.1; .1) oder in Potenzschreibweise (3e5,5d-7) 
  603.   eingegeben werden. Bei Potenzen darf vor dem Exponenten ein + oder - 
  604.   stehen, ohne daß der Exponent gleich geklammert werden muß. In der Regel 
  605.   sollte man aber alles so klammern, daß zweifelsfrei festgelegt ist, in 
  606.   welcher Reihenfolge der Term berechnet werden soll. Es gilt natürlich 
  607.   Potenz- vor Punkt- vor Strichrechnung.
  608.   
  609.   
  610.  Optionen
  611.  ========
  612.   Beim Start des Programm von der Workbench kann mit dem Tooltype
  613.   SETTINGS angegeben werden, welche Datei als Voreinstellungsdatei
  614.   geladen werden soll. Ohne Angabe wird s:mplot.prefs geladen.
  615.  
  616.  
  617.  
  618.  
  619. ARexx-Port
  620. ==========
  621.  
  622.  Einleitung
  623.  ----------
  624.   MathPlot enthält einen ARexx-Port namens "MPlot_ARexx" (Groß/Klein-
  625.   schreibung beachten !). Dieser ARexx-Port wurde mit Hilfe der
  626.   ARexxBox V1.00 von Michael Balzer erstellt. Damit stehen bei allen
  627.   Kommandos, die Werte zurückgeben, die Schlüsselwörter VAR/K und STEM/K
  628.   zur Verfügung. Ebenso gibt es die Variable RC2, die evt. eine weitere
  629.   Fehlernummer oder einen Fehlertext enthält.
  630.   Die Art der Parameterübergabe und Werterückgabe entspricht den Richtlinien
  631.   aus den "User Style Guide".
  632.   Die Standartkommandos, die in diesem Programm eine sinnvolle Bedeutung
  633.   haben, wurden ebenfalls übernommen.
  634.   
  635.  ARexx-Kommandos
  636.  ---------------
  637.   Es follt eine Aufzählung und teilweise Erklärung aller vorhandener
  638.   Kommandos. Dabei wird das Format verwendet, wie es auch das HELP-Kommando
  639.   erzeugt. Dies ist im wesentlichen das Format, das auch die Shell-Befehle
  640.   als Schablone benutzen. Um den Griff zum Handbuch zu vermeiden, zuerst
  641.   eine kurze Erklärung der wichtigsten "Templates"
  642.   
  643.   /A - das angegebene Argument MUSS immer vorhanden sein.
  644.   /K - das angegebene Schlüsselwort MUSS mit angegeben werden, falls dieses
  645.        Argument angegeben werden soll
  646.   /S - Einfacher Ein/Ausschalter
  647.   /N - Numerisches Argument
  648.   /M - Es können mehrere Argumente folgen
  649.  
  650.   Bsp: PROMPT/K/A bedeutet, daß immer ein Argument der Form "PROMPT argument"
  651.        angegeben werden muß
  652.        
  653.   Die Liste der Befehle (diese Liste ist nicht unbeding vollständig,
  654.   eine immer aktuelle Liste erhält man mit dem HELP-Befehl):
  655.     
  656.    BEEP
  657.     Einfacher DisplayBeep()
  658.    CLEAR FORCE/S
  659.     Löscht den Bildschirm. Bei Angabe von FORCE erfolgt keine Sicherheits-
  660.     abfrage.
  661.    EVALSTRING VAR/K,STEM/K,FUNCTION/A,X/K => VALUE
  662.     Wertet eine Funktion aus (Diese Funktion muß immer angegeben werden).
  663.     Es kann ein Wert für x übergeben werden. Gibt den Wert zurück.
  664.    FAULT VAR/K,STEM/K,NUMBER/N/A => DESCRIPTION
  665.     Bisher nicht implementiert.
  666.    GET1DERIVE VAR/K,STEM/K,NUMBER/N/A => DERIVE
  667.     Ergibt die erste Ableitung der angegebenen Funktion (die Nummer bezieht
  668.     sich auf die Stellung im Untermenu, 0 für die erste Funktion, 9 für die
  669.     letzte).
  670.    GET2DERIVE VAR/K,STEM/K,NUMBER/N/A => DERIVE
  671.     siehe oben.
  672.    GETCOLOR VAR/K, STEM/K, TEXTCOLOR/S, AXISCOLOR/S, PLOTCOLOR/S,
  673.                            TEXTCOLORBACK/S, AXISCOLORBACK/S, 
  674.                            TEXTMODE/S, AXISMODE/S =>
  675.                            TEXTCOLOR/N, AXISCOLOR/N, PLOTCOLOR/N,
  676.                            TEXTCOLORBACK/N, AXISCOLORBACK/N,
  677.                            TEXTMODE/N, AXISMODE/N   
  678.     Gibt die aktuellen Farben und Zeichenmodi zurück.
  679.    GETCONST VAR/K,STEM/K,NAME/A => DEFINITION
  680.     Gibt die Definition der angegebenen Konstanten zurück. Als Name muß ein
  681.     Buchstabe 'a' - 'z' übergeben werden.
  682.    GETERROR VAR/K,STEM/K => NUMBER/N
  683.     Gibt den letzten aufgetretenen Mathe-Fehler zurück.
  684.    GETFUNCTION VAR/K,STEM/K,NUMBER/N/A => DEFINITION
  685.     Gibt die Definition der angegebenen Funktion zurück.
  686.    GETINTERVALL VAR/K,STEM/K,XAXIS/S,XMIN/S,XMAX/S,YAXIS/S,YMIN/S,YMAX/S 
  687.     => DEFINITIONSTRING,DEFINITIONNUMBER/N
  688.     Gibt die Definition des Intervall zurück. Es darf immer nur eins der
  689.     Schlüsselwörter angegeben werden.
  690.    GETMACRO VAR/K,STEM/K,NAME/A => DEFINITION
  691.     Gibt die Definition eines Macros zurück.
  692.    GETPOINTS VAR/K, STEM/K, FUNCTION/A, ZERO/S, MAX/S, TURN/S 
  693.                             => XPOINTS/M, YPOINTS/M, TYP/M
  694.     Kurvendiskussion. Es darf immer nur einer der Switches angeschaltet
  695.     sein.
  696.    GETPRECISION VAR/K,STEM/K => PRECISION/N
  697.     Gibt die aktuelle Zeichengenauigkeit zurück.
  698.    HELP VAR/K,STEM/K,COMMAND,PROMPT/S => COMMANDDESC,COMMANDLIST/M
  699.     HELP alleine gibt eine Liste aller Kommandos aus. HELP command gibt
  700.     eine Hilfe zu dem angegebenen Kommando aus. PROMPT wird noch nicht 
  701.     unterstützt.
  702.    HPGL_ON FILENAME
  703.     Schaltet die HP-Grafikausgabe ein.
  704.    LINE XMIN/A YMIN/A XMAX/A YMAX/A
  705.     Zeichnet eine Linie
  706.    LOADCONST FILENAME
  707.     Lädt Konstantendefinitionen.
  708.    LOADFUNC FILENAME
  709.     Lädt Funktionsdefinitionen.
  710.    LOADMACRO FILENAME
  711.     Lädt Macrodefinitionen.
  712.    NEW PORTNAME/K
  713.     Löscht den Bildschirm. PORTNAME wird zur Zeit noch nicht unterstützt.
  714.    NUMINT VAR/K,STEM/K,STEPS/N/A,XMIN/A,XMAX/A,FUNCTION/A => VALUE
  715.     Numerische Integration.
  716.    PLOT NUMBER/N/A,NORMAL/K/S,DERIVE1/K/S,DERIVE2/K/S,DERIVE1NUM/K/S,
  717.     DERIVE2NUM/K/S,FORCE/S
  718.     Zeichnet die angegebene Funktion (NUMBER, 0-9) entsprechend den anderen
  719.     Schlüsselwörtern.
  720.    POINT XPOS/A YPOS/A
  721.     Setzt einen Punkt
  722.    PRINT PROMPT/S
  723.     Druckausgabe, PROMPT wird noch nicht unterstützt.
  724.    QUIT FORCE/S
  725.     Beendet das Programm, FORCE unterdrückt die Sicherheitsabfrage.
  726.    REQUESTFILE VAR/K,STEM/K,TITLE/K,PATH/K,FILE/K,PATTERN/K,SAVE/S => FILENAME
  727.     Erzeugt einen Filerequester mit den entsprechenden Vorgaben. SAVE/S ist
  728.     zusätzlich zu den Vorgaben aus den "User Style Guide" vorhanden und
  729.     erzeugt eine SAVE-Filerequester (den, bei den man eine Datei NICHT mit
  730.     einem Doppelclick anwählen kann).
  731.    REQUESTNOTIFY PROMPT/K/A,BUTTON/K
  732.     Entspricht in den Templates nicht dem "User Style Guide" und sollte
  733.     daher nicht benutzt werden.
  734.    REQUESTNUMBER VAR/K,STEM/K,PROMPT/K,DEFAULT/K/N => NUMBER/N
  735.     Fragt nach einer Nummer. Zur Zeit so realisiert, daß auch Buchstaben
  736.     eingegeben werden können, aber nur die Zahl, die sich aus dem ein-
  737.     gegebenen String ergibt auch zurückgegeben wird. Es werden nur
  738.     Integer-Werte zurückgegeben.
  739.    REQUESTRESPONSE VAR/K,STEM/K,TITLE/K,PROMPT/K/A,BUTTON/K => RETURN/N
  740.     Erzeugt einen Easy-Request. PROMPT ist der angezeigte Text, mit BUTTON
  741.     (z.B. OK|Cancel) gibt man den Text für die Anwahlfelder an. Es wird die
  742.     Nummer des angewählten Gadgets zurückgegeben (1,2... = erstes
  743.     von links, zweites von links...). Falls das rechte Gadget angewählt 
  744.     wurde ist RC=5.
  745.    REQUESTSTRING VAR/K,STEM/K,PROMPT/K,DEFAULT/K,TITLE/K => STRING
  746.     Fragt einen String ab.
  747.    RX VAR/K,STEM/K,CONSOLE/S,ASYNC/S,COMMAND/F => RC/N,RESULT
  748.     Startet ein externes ARexx-Skript.
  749.    SAVECONST FILENAME
  750.     Speichert die Konstanten ab.
  751.    SAVEFUNC FILENAME
  752.     Speichert die Funktionen ab.
  753.    SAVEIFF FILENAME
  754.     Speichert den Bildschirm als IFF-Grafik ab.
  755.    SAVEMACRO FILENAME
  756.     Speichert die Macros ab.
  757.    SCREENTOBACK
  758.     Bringt den Screen in den Hintergrund.
  759.    SCREENTOFRONT
  760.     Bringt den Screen in den Vordergrund.
  761.    SELECTMENU MENU/N/A,ITEM/N/A,SUB/N,FORCE/S
  762.     Wählt ein Menu aus. FORCE unterdrückt einen Teil der Requester, die bei
  763.     direkter Anwahl des Menus (mit der Maus) erscheinen würden. Das oberste
  764.     Item/Subitem ist immer die Nummer 0, danach der Reihe nach durchzählen.
  765.     Unterteilungen werden mitgezählt.
  766.    SETCOLOR PLOTCOLOR/N/K, AXISCOLOR/N/K, TEXTCOLOR/N/K,
  767.                            AXISCOLORBACK/N/K, TEXTCOLORBACK/N/K, 
  768.                            AXISMODE/N/K, TEXTMODE/N/K   
  769.     Setzt die Farben und Zeichenmodi.
  770.    SETCONST NAME/A,DEFINITION/A
  771.     Setzt eine Konstante auf den neuen Wert.
  772.    SETFUNC NUMBER/N/A,DEFINITION/A
  773.     Setzt eine Funktion auf den neuen Wert.
  774.    SETINTERVALL XAXIS/N/K,XMIN/K,XMAX/K,YAXIS/N/K,YMIN/K,YMAX/K
  775.     Setzt das Intervall neu.
  776.    SETMACRO NAME/A,DEFINITION/A
  777.     Setzt ein Macro neu.
  778.    SETNUMPRECISION PRECISION/N/A
  779.     Setzt die Anzahl Nachkommastellen für die Rückgabewerte bei 
  780.     EVALSTRING und NUMINT.
  781.    VERSION VAR/K,STEM/K => VERSION  
  782.     Gibt einen Versionsstring zurück.
  783.  
  784.  ARexx-Macros
  785.  ------------
  786.   Mit diesen Macros (nicht zu verwechseln mit den (Funktions-) Macros im
  787.   Programm !) bietet sich die Möglichkeit, immer wiederkehrende Aufgaben zu
  788.   vereinfachen. So können ganze Funktionenreihen erzeugt und als .IFF- oder
  789.   .PLT-File abgespeichert werden. Ein Beispiel ist vorhanden:
  790.   
  791.   - Schar
  792.      Zeichnet eine Kurvenschar. Der Benutzer wird nach der Nummer
  793.      der Funktion im Menu (0 - 9), dem Namen der Konstanten, dem Start- und
  794.      Endwert für diese Konstante und der Anzahl Schritte gefragt. Danach 
  795.      wird die Funktion entsprechend der Anzahl Schritte mit jeweils 
  796.      anderen Wert für die Konstante gezeichnet. Dieses Skript sollte 
  797.      vom Programm aus gestartet werden.
  798.  
  799.  
  800. Danksagungen
  801. ============
  802.  Einigen Leuten möchte ich besonders danken. Ohne Sie läge das Programm
  803.  jetzt sicherlich nicht in dieser Version vor:
  804.  
  805.   - Den Leuten von Commodore für Kickstart/Workbench 2.0 (besonders für
  806.     die gadtools.library).
  807.   - Joern Clausen, der als beta-Tester eine Reihe von Fehler fand und
  808.     auch mit Verbesserungsvorschlägen nicht geizte. Das Programmicon stammt
  809.     ebenfalls aus seiner Feder (Maus ?).
  810.   - Michael Balzer für seine ARexxBox. Ohne dieses tolle Hilfsprogramm
  811.     hätte MathPlot noch immer seinen primitiven ersten ARexx-Port.
  812.  
  813.  
  814.  
  815. Abschluß
  816. ========
  817.  
  818.     Wer Verbesserungsvorschläge, Fehlermeldungen oder ähnliches 
  819.     hat, kann mir schreiben (Adresse am Anfang).
  820.  
  821.        Viel Freude mit diesen Programm !!
  822.  
  823.